/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package DAO;

import clases.EstadoRevista;
import java.util.ArrayList;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;

/**
 *
 * @author Rafa
 */
public class DAO_EstadoRevista {

    Session sesion = null;

    public DAO_EstadoRevista() {
        this.sesion = HibernateUtil.getSessionFactory().getCurrentSession();
    }

    public List<EstadoRevista> consultaEstadosRevista(boolean iniciar) {
        List<EstadoRevista> listaEstadoRevista = new ArrayList();
        try {
            if (iniciar) {
                sesion.beginTransaction();
            }
            //sesion.getSessionFactory().getCurrentSession().beginTransaction();

            //Se realiza la consulta
            Query q = sesion.createQuery("from EstadoRevista");

            //Se recoge el resultado de la consulta
            listaEstadoRevista = (List<EstadoRevista>) q.list();
        } catch (Exception e) {
            e.printStackTrace();

        }
        return listaEstadoRevista;
    }

    public EstadoRevista consultaEstadoRevista(String nombreEstado, boolean iniciar) {
        EstadoRevista estado = null;
        try {
            if (iniciar) {
                sesion.beginTransaction();
            }
            //sesion.getSessionFactory().getCurrentSession().beginTransaction();

            //Se hace la consulta
            Query query = sesion.createQuery("from EstadoRevista where estado = '" + nombreEstado + "'");
        //query.setParameter("nombreEstado", nombreEstado);

            //Se recoge el resultado de la consulta
            estado = (EstadoRevista) query.uniqueResult();
        } catch (Exception e) {
            e.printStackTrace();

        }
        return estado;
    }

    public EstadoRevista consultaEstadoRevistaActiva(boolean iniciar) {
        EstadoRevista estado = null;
        try {
            if (iniciar) {
                sesion.beginTransaction();
            }
            //sesion.getSessionFactory().getCurrentSession().beginTransaction();
            String nombreEstado = Constantes.getREVISTA_ACTIVADA();

            //Se hace la consulta
            Query query = sesion.createQuery("from EstadoRevista where estado = '" + nombreEstado + "'");
        //query.setParameter("nombreEstado", nombreEstado);

            //Se recoge el resultado de la consulta
            estado = (EstadoRevista) query.uniqueResult();
        } catch (Exception e) {
            e.printStackTrace();

        }
        return estado;
    }
}
